/**
 * 去掉字符串两端字符
 * @param val string 处理的字符串  必需字符串
 * @param typ int 要处理位置 l:左,r:右,a:两端
 * @param str string 去除的字符  '':空白字符
 * @return string|null  null:参数错误
 */
$.trim = function(val, typ='a', str=''){
	const REG = {
		l:/^[\s\uFEFF\xA0]+/, r:/[\s\uFEFF\xA0]+$/,
		a:/(^[\s\uFEFF\xA0]+)|([\s\uFEFF\xA0]+$)/g,
	};
	$.trim = function(val, typ='a', str=''){
		if(typeof val==='number') val += '';
		else if(!val || typeof val!=='string') return null;
		if(str==='') return val.replace(REG[typ], '');
		if(typ==='a' || typ==='l'){
			while(true){
				if(str.indexOf(val[0])<0) break;
				val = val.slice(1);
			}
		}
		if(typ==='a' || typ==='r'){
			while(true){
				if(str.indexOf(val.slice(-1))<0) break;
				val = val.slice(0, -1);
			}
		}
		return val;
	};
	return $.trim(val, typ, str);
};
